<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui" xmlns:h="http://java.sun.com/jsf/html"
	template="/templates/template-manutencao.xhtml">

	<ui:define name="title">
		<p:outputLabel value="#{label['produto.titulo']}" styleClass="header-page" />
	</ui:define>

	<ui:define name="filtros">

		<p:panel header="#{label['sistema.painel.filtros']}" id="panel_selecao">

			<p:panelGrid>

				<p:row>
					<p:column styleClass="labelMaxWidth">
						<p:outputLabel value="#{label['produto.campo.codigo_barras']}" for="produto_codigo_barras_mnt" />
					</p:column>
					<p:column colspan="3">
						<p:inputText id="produto_codigo_barras_mnt" value="#{produtoMB.modelSel.codigo}" maxlength="50"
							styleClass="maxInput" />
					</p:column>
				</p:row>

				<p:row>
					<p:column>
						<p:outputLabel value="#{label['produto.campo.nome_produto']}" for="produto_nome_mnt" />
					</p:column>
					<p:column colspan="3">
						<p:inputText id="produto_nome_mnt" value="#{produtoMB.modelSel.nome}" maxlength="100" styleClass="maxInput" />
					</p:column>
				</p:row>

				<p:row>
					<p:column>
						<p:outputLabel value="#{label['produto.campo.categoria']}" for="produto_categoria_mnt" />
					</p:column>
					<p:column>
						<p:selectOneMenu id="produto_categoria_mnt" value="#{produtoMB.modelSel.categoria.codigo}">
							<f:selectItem itemLabel="#{label['sistema.select.selecione']}" itemValue="#{null}" />
							<f:selectItems value="#{produtoMB.listCategoria}" var="item" itemLabel="#{item.nome}" itemValue="#{item.codigo}" />
						</p:selectOneMenu>
					</p:column>
					<p:column>
						<p:outputLabel value="Pré-Cadastro?" for="produto_pre_cadastro_mnt" />
					</p:column>
					<p:column>
						<p:selectOneMenu id="produto_pre_cadastro_mnt" value="#{produtoMB.modelSel.flPreCadastro}">
							<f:selectItem itemLabel="#{label['sistema.select.selecione']}" itemValue="#{null}" />
							<f:selectItem itemLabel="Sim" itemValue="S" />
							<f:selectItem itemLabel="Não" itemValue="N" />
						</p:selectOneMenu>
					</p:column>
				</p:row>

			</p:panelGrid>

			<f:facet name="footer">
				<div align="right">
					<p:commandButton value="#{label['sistema.botao.pesquisar']}" title="#{label['sistema.botao.pesquisar']}"
						actionListener="#{produtoMB.executarPesquisar()}" process="panel_selecao" update="dataTable" />
				</div>
			</f:facet>

		</p:panel>

	</ui:define>

	<ui:define name="tabela">

		<p:dataTable id="dataTable" value="#{produtoMB.listModel}" var="item" rows="10" paginator="true"
			paginatorPosition="bottom" emptyMessage="#{label['sistema.tabela.emptymessage']}" lazy="true">

			<p:column headerText="#{label['produto.campo.nome_produto']}" width="40%">
				<p:outputLabel value="#{item.nome}" />
			</p:column>

			<p:column headerText="#{label['produto.campo.categoria']}">
				<p:outputLabel value="#{item.categoria.nome}" />
			</p:column>

			<p:column headerText="#{label['produto.campo.estoque']}" width="50">
				<center>
					<p:outputLabel value="#{item.quantidadeEstoque}" />
				</center>
			</p:column>

			<p:column headerText="#{label['sistema.tabela.acoes']}" width="105">

				<p:commandButton icon="ui-icon-pencil" title="#{label['sistema.botao.editar']}" process="@this"
					update="@form:panel_dialog" actionListener="#{produtoMB.prepararEditar(item)}">
				</p:commandButton>

				<p:commandButton icon="ui-icon-close" title="#{label['sistema.botao.excluir']}"
					actionListener="#{produtoMB.executarExcluir(item)}" process="@this" update="dataTable">
					<p:confirm />
				</p:commandButton>

				<p:commandButton icon="ui-icon-clipboard" title="#{label['sistema.botao.detalhes']}" process="@this"
					update="@form:panel_dialog_det" actionListener="#{produtoMB.prepararDetalhes(item)}">
				</p:commandButton>

			</p:column>

		</p:dataTable>

	</ui:define>

	<ui:define name="comandos">
		<p:commandButton value="#{label['sistema.botao.incluir']}" title="#{label['sistema.botao.incluir']}"
			oncomplete="PF('dialogCadastro').show()" process="@this" update="panel_dialog">
			<f:setPropertyActionListener target="#{produtoMB.modelCad}" value="#{null}" />
		</p:commandButton>
	</ui:define>

	<ui:define name="custom-dialogs">

		<p:dialog id="dialogCadastro" header="#{label['sistema.dialog.cadastro.titulo']}" widgetVar="dialogCadastro"
			width="900" modal="true" closable="false" resizable="false">

			<p:panelGrid id="panel_dialog">

				<p:row>
					<p:column>
						<p:outputLabel value="#{label['produto.campo.codigo_barras']}" for="produto_codigo_barras_cad" />
					</p:column>
					<p:column colspan="3">
						<p:inputText id="produto_codigo_barras_cad" value="#{produtoMB.modelCad.codigo}" maxlength="500" required="true"  size="70"/>
					</p:column>
					<p:column>
						<p:outputLabel value="#{label['produto.campo.custo']}" for="produto_custo_cad"
							rendered="#{produtoMB.permiteVisualizar}" />
					</p:column>
					<p:column>
						<p:inputText id="produto_custo_cad" value="#{produtoMB.modelCad.valorCusto}" maxlength="6" size="5"
							rendered="#{produtoMB.permiteVisualizar}">
							<p:ajax event="blur" listener="#{produtoMB.calcularValorLucro()}" process="@this" update="produto_lucro_cad" />
						</p:inputText>
					</p:column>
				</p:row>

				<p:row>
					<p:column>
						<p:outputLabel value="#{label['produto.campo.nome_produto']}" for="produto_nome_cad" />
					</p:column>
					<p:column colspan="3">
						<p:inputText id="produto_nome_cad" value="#{produtoMB.modelCad.nome}" maxlength="100" required="true"  size="70"/>
					</p:column>
					<p:column>
						<p:outputLabel value="#{label['produto.campo.venda']}" for="produto_venda_cad" />
					</p:column>
					<p:column>
						<p:inputText id="produto_venda_cad" value="#{produtoMB.modelCad.valorVenda}" maxlength="6" size="5">
							<p:ajax event="blur" listener="#{produtoMB.calcularValorLucro()}" process="@this" update="produto_lucro_cad" />
						</p:inputText>
					</p:column>
				</p:row>

				<p:row>
					<p:column>
						<p:outputLabel value="#{label['produto.campo.categoria']}" for="produto_categoria_cad" />
					</p:column>
					<p:column colspan="3">
						<p:selectOneMenu id="produto_categoria_cad" value="#{produtoMB.modelCad.categoria.codigo}" required="true">
							<f:selectItem itemLabel="#{label['sistema.select.selecione']}" />
							<f:selectItems value="#{produtoMB.listCategoria}" var="item" itemLabel="#{item.nome}" itemValue="#{item.codigo}"  size="70"/>
						</p:selectOneMenu>
					</p:column>
					<p:column>
						<p:outputLabel value="#{label['produto.campo.lucro']}" for="produto_lucro_cad"
							rendered="#{produtoMB.permiteVisualizar}" />
					</p:column>
					<p:column>
						<p:inputText id="produto_lucro_cad" value="#{produtoMB.modelCad.lucro}" size="5" disabled="true"
							rendered="#{produtoMB.permiteVisualizar}" />
					</p:column>
				</p:row>

			</p:panelGrid>

			<f:facet name="footer">
				<p:commandButton value="#{label['sistema.botao.salvar']}" title="#{label['sistema.botao.salvar']}"
					actionListener="#{produtoMB.executarSalvar()}" process="dialogCadastro" update="panel_dialog dataTable" />

				<p:commandButton value="#{label['sistema.botao.cancelar']}" title="#{label['sistema.botao.cancelar']}"
					onclick="PF('dialogCadastro').hide()" immediate="true">
					<f:setPropertyActionListener target="#{produtoMB.modelCad}" value="#{null}" />
				</p:commandButton>
			</f:facet>

		</p:dialog>

		<p:dialog id="dialogDetalhes" header="#{label['sistema.dialog.detalhes.titulo']}" widgetVar="dialogDetalhes"
			width="900" modal="true" closable="false" resizable="false">

			<p:panelGrid id="panel_dialog_det">

				<p:row>
					<p:column>
						<p:outputLabel value="#{label['produto.campo.codigo_barras']}" for="produto_codigo_barras_det" />
					</p:column>
					<p:column colspan="3">
						<p:inputText id="produto_codigo_barras_det" value="#{produtoMB.modelCad.codigo}" disabled="true" size="70"/>
					</p:column>
					<p:column>
						<p:outputLabel value="#{label['produto.campo.custo']}" for="produto_custo_det" rendered="#{produtoMB.permiteVisualizar}"/>
					</p:column>
					<p:column>
						<p:inputText id="produto_custo_det" value="#{produtoMB.modelCad.valorCusto}" size="5" disabled="true" rendered="#{produtoMB.permiteVisualizar}"/>
					</p:column>
				</p:row>

				<p:row>
					<p:column>
						<p:outputLabel value="#{label['produto.campo.nome_produto']}" for="produto_nome_det" />
					</p:column>
					<p:column colspan="3">
						<p:inputText id="produto_nome_det" value="#{produtoMB.modelCad.nome}" disabled="true"  size="70"/>
					</p:column>
					<p:column>
						<p:outputLabel value="#{label['produto.campo.venda']}" for="produto_venda_det" />
					</p:column>
					<p:column>
						<p:inputText id="produto_venda_det" value="#{produtoMB.modelCad.valorVenda}" size="5" disabled="true" />
					</p:column>
				</p:row>

				<p:row>
					<p:column>
						<p:outputLabel value="#{label['produto.campo.categoria']}" for="produto_categoria_det" />
					</p:column>
					<p:column colspan="3">
						<p:inputText id="produto_categoria_det" value="#{produtoMB.modelCad.categoria.nome}" disabled="true" size="70" />
					</p:column>
					<p:column>
						<p:outputLabel value="#{label['produto.campo.lucro']}" for="produto_lucro_det" rendered="#{produtoMB.permiteVisualizar}"/>
					</p:column>
					<p:column>
						<p:inputText id="produto_lucro_det" value="#{produtoMB.modelCad.lucro}" size="5" disabled="true" rendered="#{produtoMB.permiteVisualizar}"/>
					</p:column>
				</p:row>

			</p:panelGrid>

			<f:facet name="footer">

				<p:commandButton value="#{label['sistema.botao.fechar']}" title="#{label['sistema.botao.fechar']}"
					onclick="PF('dialogDetalhes').hide()" immediate="true">
					<f:setPropertyActionListener target="#{produtoMB.modelCad}" value="#{null}" />
				</p:commandButton>

			</f:facet>

		</p:dialog>

	</ui:define>

</ui:composition>